package com.zbl.zblproject.core.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author youlanqiang
 * @version 1.0
 * @date 2018/10/16
 * 管理员User表
 */
@TableName("zbl_admin_user")
public class AdminUser {

    @TableId(type = IdType.AUTO)
    private int userId;

    private String userName;

    private String email;

    @JSONField(serialize = false)
    private String password;

    private String ecSalt;

    private int addTime;

    private int lastLogin;

    private String lastIp;

    @JSONField(serialize = false)
    private String actionList;

    private String navList;

    private String langType;

    private int agencyId;

    private int suppliersId;

    private String todolist;

    private int roleId;

    private String telephone;

    private String address;

    /**
     * 经度
     */
    private String longitude;


    /**
     * 纬度
     */
    private String latitude;

    /**
     * 开启定位
     */
    private Integer openPoint;


    /**
     * 门店地址
     */
    private String storeAddress;

    /**
     * 门店名称
     */
    private String storeName;

    /**
     * 门店区域
     */
    private String storeArea;

    /**
     * 门店等级
     */
    private int storeLevel;

    /**
     * 门店状态
     * 0 开启 1 关闭
     */
    private int status;

    /**
     * 指定物流公司
     */
    private String logistics;

    private BigDecimal balance;

    private BigDecimal rebateRate;

    private BigDecimal newBalance;
    /**
     * 用户编号
     */
    private String userNumber;

    private String userCode;

    /**
     * 组长标识
     */
    private int groupLeader;

    /**
     * 对应组长ID
     */
    private int groupId;

    /**
     * 门店等级
     */
    private String level;

    /**
     * 门店编码
     */
    private String codeName;

    /**
     * 对应出纳ID
     */
    private int cashierTeller;

    /**
     * 出纳名称
     */
    @TableField(exist = false)
    private String cashierName;

    /**
     * 系数
     */
    private int coefficient;

//    private double storeTasks;

    /**
     * 任务比率
     */
    private double ratio;

    @TableField(exist = false)
    private String leaderName;


    @TableField(exist = false)
    private List<UserAddress> addressList;

    @JSONField(name = "is_show")
    private int isShow;


    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getEcSalt() {
        return ecSalt;
    }

    public void setEcSalt(String ecSalt) {
        this.ecSalt = ecSalt;
    }

    public int getAddTime() {
        return addTime;
    }

    public void setAddTime(int addTime) {
        this.addTime = addTime;
    }

    public int getLastLogin() {
        return lastLogin;
    }

    public void setLastLogin(int lastLogin) {
        this.lastLogin = lastLogin;
    }

    public String getLastIp() {
        return lastIp;
    }

    public void setLastIp(String lastIp) {
        this.lastIp = lastIp;
    }

    public String getActionList() {
        return actionList;
    }

    public void setActionList(String actionList) {
        this.actionList = actionList;
    }

    public String getNavList() {
        return navList;
    }

    public void setNavList(String navList) {
        this.navList = navList;
    }

    public String getLangType() {
        return langType;
    }

    public void setLangType(String langType) {
        this.langType = langType;
    }

    public int getAgencyId() {
        return agencyId;
    }

    public void setAgencyId(int agencyId) {
        this.agencyId = agencyId;
    }

    public int getSuppliersId() {
        return suppliersId;
    }

    public void setSuppliersId(int suppliersId) {
        this.suppliersId = suppliersId;
    }

    public String getTodolist() {
        return todolist;
    }

    public void setTodolist(String todolist) {
        this.todolist = todolist;
    }

    public int getRoleId() {
        return roleId;
    }

    public void setRoleId(int roleId) {
        this.roleId = roleId;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getStoreAddress() {
        return storeAddress;
    }

    public void setStoreAddress(String storeAddress) {
        this.storeAddress = storeAddress;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getStoreArea() {
        return storeArea;
    }

    public void setStoreArea(String storeArea) {
        this.storeArea = storeArea;
    }

    public int getStoreLevel() {
        return storeLevel;
    }

    public void setStoreLevel(int storeLevel) {
        this.storeLevel = storeLevel;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getLogistics() {
        return logistics;
    }

    public void setLogistics(String logistics) {
        this.logistics = logistics;
    }

    public List<UserAddress> getAddressList() {
        return addressList;
    }

    public void setAddressList(List<UserAddress> addressList) {
        this.addressList = addressList;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public BigDecimal getRebateRate() {
        return rebateRate;
    }

    public String getUserNumber() {
        return userNumber;
    }

    public void setUserNumber(String userNumber) {
        this.userNumber = userNumber;
    }

    public String getUserCode() {
        return userCode;
    }

    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }

    public void setRebateRate(BigDecimal rebateRate) {
        this.rebateRate = rebateRate;
    }

    public int getGroupLeader() {
        return groupLeader;
    }

    public void setGroupLeader(int groupLeader) {
        this.groupLeader = groupLeader;
    }

    public int getGroupId() {
        return groupId;
    }

    public void setGroupId(int groupId) {
        this.groupId = groupId;
    }

    public String getLevel() {
        return level;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getCodeName() {
        return codeName;
    }

    public void setCodeName(String codeName) {
        this.codeName = codeName;
    }

    public int getCashierTeller() {
        return cashierTeller;
    }

    public void setCashierTeller(int cashierTeller) {
        this.cashierTeller = cashierTeller;
    }

    public int getCoefficient() {
        return coefficient;
    }

    public void setCoefficient(int coefficient) {
        this.coefficient = coefficient;
    }

    public double getRatio() {
        return ratio;
    }

    public void setRatio(double ratio) {
        this.ratio = ratio;
    }

    public String getLeaderName() {
        return leaderName;
    }

    public void setLeaderName(String leaderName) {
        this.leaderName = leaderName;
    }

    public String getCashierName() {
        return cashierName;
    }

    public void setCashierName(String cashierName) {
        this.cashierName = cashierName;
    }

    public String getLongitude() {
        return longitude;
    }

    public void setLongitude(String longitude) {
        this.longitude = longitude;
    }

    public String getLatitude() {
        return latitude;
    }

    public void setLatitude(String latitude) {
        this.latitude = latitude;
    }

    public Integer getOpenPoint() {
        return openPoint;
    }

    public void setOpenPoint(Integer openPoint) {
        this.openPoint = openPoint;
    }

    public int getIsShow() {
        return isShow;
    }

    public void setIsShow(int isShow) {
        this.isShow = isShow;
    }

    @Override
    public String toString() {
        return "AdminUser{" +
                "userId=" + userId +
                ", userName='" + userName + '\'' +
                ", email='" + email + '\'' +
                ", password='" + password + '\'' +
                ", ecSalt='" + ecSalt + '\'' +
                ", addTime=" + addTime +
                ", lastLogin=" + lastLogin +
                ", lastIp='" + lastIp + '\'' +
                ", actionList='" + actionList + '\'' +
                ", navList='" + navList + '\'' +
                ", langType='" + langType + '\'' +
                ", agencyId=" + agencyId +
                ", suppliersId=" + suppliersId +
                ", todolist='" + todolist + '\'' +
                ", roleId=" + roleId +
                ", telephone='" + telephone + '\'' +
                ", address='" + address + '\'' +
                ", storeAddress='" + storeAddress + '\'' +
                ", storeName='" + storeName + '\'' +
                ", storeArea='" + storeArea + '\'' +
                ", storeLevel=" + storeLevel +
                ", status=" + status +
                '}';
    }

    public BigDecimal getNewBalance() {
        return newBalance;
    }

    public void setNewBalance(BigDecimal newBalance) {
        this.newBalance = newBalance;
    }

//    public double getStoreTasks() {
//        return storeTasks;
//    }
//
//    public void setStoreTasks(double storeTasks) {
//        this.storeTasks = storeTasks;
//    }

//    private double completedMonth=0;//当月完成率
//    private double cumulativeCompletion=0;//累计完成
//    private double completionRate=0;//完成率
//    public double getCompletedMonth() {
//        return completedMonth;
//    }
//
//    public void setCompletedMonth(double completedMonth) {
//        this.completedMonth = completedMonth;
//    }
//
//    public double getCumulativeCompletion() {
//        return cumulativeCompletion;
//    }
//
//    public void setCumulativeCompletion(double cumulativeCompletion) {
//        this.cumulativeCompletion = cumulativeCompletion;
//    }
//
//    public double getCompletionRate() {
//        return completionRate;
//    }
//
//    public void setCompletionRate(double completionRate) {
//        this.completionRate = completionRate;
//    }
}
